A storage apparatus typically includes a physical storage device that stores data and a controller that controls the physical storage device. The controller provides a computer (for example, a host computer) coupled with the storage apparatus with a data storage space (typically, a logical volume).
The storage apparatus can speed up I/O processing and can exhibit high fault-tolerance against a breakdown of the physical storage device, by using a plurality of physical storage devices in redundant array of independent (or inexpensive) disks (RAID) configuration.
The storage apparatus typically includes a hard disk drive (HDD) as the physical storage device. However, in recent years, as a new physical storage device replacing the HDD, a physical storage device including a flash memory (hereinafter, FM), for example, a solid state drive (SSD) has attracted attention.
The SSD has an advantage of extreme higher-speed I/O processing than the HDD. However, the SSD has a disadvantage of shorter life than the HDD because the number of times of data write has an upper limit. Hereinafter, the disadvantage of the SSD will be described.
When intending to rewrite data, a flash memory (typically, a NAND-type flash memory) cannot directly overwrite a physical area in which the data is stored with data. To rewrite the data on the physical area with data, it is necessary to execute deletion processing (hereinafter, block deletion) for the data on the physical area in units of called block that is a deletion unit of the flash memory, and then to write the data on the physical area subjected to the block deletion.
However, the number of times of the block deletion for each block (hereinafter, the number of times of deletion) has limitations in terms of a physical restriction of the flash memory. If the number of times of deletion of the block exceeds the limitations, the data cannot be stored in the block. That is, if the number of times of deletion of all of blocks that configure the SSD exceeds the limitations, the SSD ends its life.
Therefore, in a typically SSD, life prolongation of the SSD is performed using a technique called wear leveling (hereinafter, WL). In WL, typically, data that is updated at a low frequency is stored in a block having a large number of times of deletion, and data that is updated at a high frequency is stored in a block having a small number of times of deletion. Accordingly, the numbers of times of deletion among the blocks are leveled, and deterioration of a specific block can be suppressed.
In a case where the SSD is employed as the physical storage device of the storage apparatus, it is typical to mount a plurality of SSDs in the storage apparatus. In such a storage apparatus, even if the deterioration of only a specific block is suppressed in each SSD, loads among the SSD become unbalanced, and only a specific SSD may be overloaded. Therefore, a technique of realizing the life prolongation of the entire storage apparatus by leveling the number of times of deletion among the plurality of SSDs by applying WL to the SSDs is disclosed in PTL 1 and PTL 2. Hereinafter, WL performed among the physical storage devices such as the SSDS is referred to as “life leveling”.
In the life leveling, a controller (hereinafter, storage controller) of the storage apparatus determines an SSD of a migration target and data of a migration target.
According to PTL 1, the storage controller stores a total amount of data write (hereinafter, WR) performed for the SSD, as statistical information, and expects an average number of times of deletion by dividing the total amount by a physical capacity of the SSD, and determines the migration target data.
According to PTL 2, the storage controller acquires internal information such as the number of times of deletion and a data WR amount from the SSD in details at a block level, and determines the migration target data, based on the information.
Next, data compression will be described. The data compression is a technology of reducing the data amount to be stored in the physical storage device by compression of data, and realizes reduction in footprint and a decrease in a bit cost. According to PTL 3, the storage controller compresses WR data received from an outside of the storage apparatus, and stores the compressed data in a final storage device (for example, in the HDD or the SSD).